HTTP走私攻擊類型有:
CL不為0的GET請求:假設前端代理服務器允許GET請求攜帶請求體,而后端服務器不允許GET請求攜帶請求體,它會直接忽略掉GET請求中的Content-Length頭,不進行處理,這就有可能導致請求走私。
CL-CL:在RFC7230規范中,規定當服務器收到的請求中包含兩個 Content-Length,而且兩者的值不同時,需要返回400錯誤,但難免會有服務器不嚴格遵守該規范造成走私。假設前端和后端服務器都收到該類請求,且不報錯,其中前端服務器按照第一個Content-Length的值對請求進行為數據包定界,而后端服務器則按照第二個Content-Length的值進行處理。
CL-TE:謂CL-TE,顧名思義就是收到包含Content-Length和Transfer-Encoding這兩個請求頭d的請求時,前端代理服務器按照Content-Length這一請求頭定界,而后端服務器則以Transfer-Encoding請求頭為標準。
TE-CL:這種情況則屬于前端服務器處理Transfer-Encoding請求頭,而后端服務器處理Content-Length請求頭。
direct+smuggling:該場景基于url跳轉,把用戶重定向到一個固定網頁,lab為我們提供個跳轉api,/post/next?postId=3路由跳轉到的是/post?postId=4。
回答所涉及的環境:聯想天逸510S、Windows 10。
HTTP走私攻擊類型有:
CL不為0的GET請求:假設前端代理服務器允許GET請求攜帶請求體,而后端服務器不允許GET請求攜帶請求體,它會直接忽略掉GET請求中的Content-Length頭,不進行處理,這就有可能導致請求走私。
CL-CL:在RFC7230規范中,規定當服務器收到的請求中包含兩個 Content-Length,而且兩者的值不同時,需要返回400錯誤,但難免會有服務器不嚴格遵守該規范造成走私。假設前端和后端服務器都收到該類請求,且不報錯,其中前端服務器按照第一個Content-Length的值對請求進行為數據包定界,而后端服務器則按照第二個Content-Length的值進行處理。
CL-TE:謂CL-TE,顧名思義就是收到包含Content-Length和Transfer-Encoding這兩個請求頭d的請求時,前端代理服務器按照Content-Length這一請求頭定界,而后端服務器則以Transfer-Encoding請求頭為標準。
TE-CL:這種情況則屬于前端服務器處理Transfer-Encoding請求頭,而后端服務器處理Content-Length請求頭。
direct+smuggling:該場景基于url跳轉,把用戶重定向到一個固定網頁,lab為我們提供個跳轉api,/post/next?postId=3路由跳轉到的是/post?postId=4。
回答所涉及的環境:聯想天逸510S、Windows 10。